﻿using System;
using System.IO;
namespace project1113.SomeTools
{
    public enum LogLevel
    {
        Info,
        Warning,
        Error
    }

    public class Logger
    {
        private readonly string logFilePath;
        //默认为
        public Logger()
        {
            string logFileName = $"log_{DateTime.Now:yyyyMMdd_HHmmss}.txt";
            // 使用当前目录作为日志文件目录
            string directory = Directory.GetCurrentDirectory();
            logFilePath = Path.Combine(directory+@"\log", logFileName);

            // 确保日志文件存在，如果不存在，则创建一个新文件
            if (!File.Exists(logFilePath))
            {
                using (StreamWriter writer = File.CreateText(logFilePath))
                {
                    writer.WriteLine("Log Initialized at: " + DateTime.Now);
                }
            }
        }
        public Logger(string logFileName)
        {
            // 使用当前目录作为日志文件目录
            string directory = Directory.GetCurrentDirectory();
            logFilePath = Path.Combine(directory, logFileName);

            // 确保日志文件存在，如果不存在，则创建一个新文件
            if (!File.Exists(logFilePath))
            {
                using (StreamWriter writer = File.CreateText(logFilePath))
                {
                    writer.WriteLine("Log Initialized at: " + DateTime.Now);
                }
            }
        }

        public void Log(LogLevel level, string message)
        {
            // 记录当前日期和时间，以及传入的消息和级别
            string logEntry = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - [{level}] : {message}\n";

            // 将日志消息追加到日志文件
            File.AppendAllText(logFilePath, logEntry + Environment.NewLine);
        }
    }

}
